1. Field of the Invention
The present invention relates generally to storage area networks.
2. Description of the Related Art
The management of information is becoming an increasingly daunting task in today's environment of data intensive industries and applications. More particularly, the management of raw data storage is becoming more cumbersome and difficult as more companies and individuals are faced with larger and larger amounts of data that must be effectively, efficiently, and reliably maintained. Entities continue to face the necessity of adding more storage, servicing more users, and providing access to more data for larger numbers of users.
The concept of storage area networks or SANs has gained popularity in recent years to meet these increasing demands. Although various definitions of a SAN exist, a SAN can generally be considered a network whose primary purpose is the transfer of data between computer systems and storage elements and among storage elements. A SAN can form an essentially independent network that does not have the same bandwidth limitations as many of its direct-connect counterparts including storage devices connected directly to servers (e.g., with a SCSI connection) and storage devices added directly to a local area network (LAN) using traditional Ethernet interfaces, for example.
In a SAN environment, targets, which can include storage devices (e.g., tape drives and RAID arrays) and other devices capable of storing data, and initiators, which can include servers, personal computing devices, and other devices capable of providing read and write commands, are generally interconnected via various switches and/or appliances. The connections to the switches and appliances are usually Fibre Channel or iSCSI.
A typical appliance may receive and store data within the appliance, then, with an internal processor for example, analyze and operate on the data in order to forward the data to the appropriate target(s). Such store-and-forward processing can slow down data access, including the times for reading data from and writing data to the storage device(s). Accordingly, switches are often used to connect initiators with appliances, given the large number of initiators and small number of ports available in many appliances. In more current SAN implementations, switches have replaced certain functionality previously preformed by appliances such that appliances are not necessary and can be eliminated from the systems.
Storage switches in storage area networks are providing increased virtualization capabilities to increase data reliability and access. For example, some storage switches can perform so called mirroring operations to maintain multiple copies of data within the network. Physical devices may be virtualized and presented to host devices as a virtual volume. Internally within the switch, data for the virtual volume can be routed to more than one physical location for increased reliability. Mirroring is but one example of increased virtualization options being provided by storage switches in SANs.
As storage switches increase virtualization options, the management of virtual targets becomes an increasingly complex operation. Care must be taken to ensure that virtual volumes are properly managed to accurately and reliably maintain user data within a virtual volume. Numerous factors such as the availability of underlying storage devices and subsystems affect the status of a virtual volume. Determining the proper status for a virtual volume becomes more difficult and time-consuming as the complexity in provisioned virtual volumes increases.
Traditional techniques of coding each possible scenario to determine the resulting outcome can become impractical in today's fast-paced environment. Initially developing a representation of every scenario can be very time-consuming. Furthermore, any changes to the volume for which the code is applicable may require re-coding which can be impractical in today's flexible environment where volume definitions can easily be modified.
Accordingly, there is a need for techniques and systems in storage area networks to address these identified deficiencies and provide for accurate and efficient state maintenance in storage switches.